package org.lt.ttkv;

import android.os.Bundle;

import androidx.annotation.Nullable;

import org.lt.ttkv.bean.User;
import org.lt.ttkv.config.Configs;
import org.lt.ttkv.databinding.ActivityMainBinding;
import org.lt.ttkv.utils.KVProvider;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName: MainActivity
 * @Description: 类作用描述
 * @Author: wtl
 * @CreateDate: 2023/7/6 15:45
 * @UpdateUser: 更新者 wtl
 * @UpdateDate: 2023/7/6 15:45
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public class MainActivity extends BaseActivity<ActivityMainBinding> {

    private final Configs configs = KVProvider.get(Configs.class);

    @Override
    public int getLayoutRes() {
        return R.layout.activity_main;
    }

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        User u = new User();

        u.title = "title1";
        u.content = "content1";
        List<User> users = new ArrayList<>();
        users.add(u);

        // 默认 SP 读写。可注入自定义 Kv 读写工具，例如 MMKV 详见 App.java
        viewBinding.btnWrite.setOnClickListener(v -> {
            String content = viewBinding.etContent.getText().toString();
            if (content.contains(",")) {
                String[] contents = content.split(",");
                u.title = contents[0];
                u.content = contents[1];
            }
            configs.test().set(false);
            configs.testStr().set("sssssss");
            configs.testLong().set(100L);
            configs.testInt().set(1);
            configs.user().set(u);
            configs.users().set(users);
        });
        viewBinding.btnRead.setOnClickListener(v -> {
            StringBuilder sb = new StringBuilder();
            sb
                    .append("---title").append(configs.user().value!=null?configs.user().get().title:"user-null").append("\\/n")
                    .append("---users").append(configs.user().value!=null?configs.users().get().toString():"user-null").append("\\/n")
                    .append("---content").append(configs.user().value!=null?configs.users().get().get(0).content:"user-null").append("\\/n")
                    .append("---testStr").append(configs.testStr().get()).append("\\/n")
                    .append("---testLong").append(configs.testLong().get()).append("\\/n")
                    .append("---testInt").append(configs.testInt().get()).append("\\/n")
                    .append("---test").append(configs.test().get())
                    ;
            viewBinding.tvLog.setText(sb.toString());
//      Toast.makeText(this,configs.user().get().title,Toast.LENGTH_SHORT).show();
//      Toast.makeText(this,configs.users().get().toString(),Toast.LENGTH_SHORT).show();
//      Toast.makeText(this,configs.users().get().get(0).content,Toast.LENGTH_SHORT).show();
//      Log.d("---title", configs.user().get().title);
//      Log.d("---users", configs.users().get().toString());
//      Log.d("---content", configs.users().get().get(0).content);
        });
    }
}